<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 理解：就是求数组中的最大差值，要求某一靠后的项减去某一靠前项的差最大，然后输出靠前的一项的下标。
        var price = [7, 1, 5, 3, 6, 4];
        function bestDay (arr) {
            // 设定初始值
            var temp = arr[1] - arr[0];
            var d_value = [];
            var day = [];
            // 对数组进行双重遍历，每个后一项都去与前一项做差，将差值和分别放入到新数组中。
            for (var i = 0 ; i < arr.length-1 ; i++) {
                for (var j = i+1; j < arr.length ; j ++) {
                    if (arr[j] - arr[i] > temp) {
                        temp = arr[j] - arr[i];
                        d_value.push(temp);
                        d_value.push(i);
                        day.push(i);
                    }
                }                
            }
            // 最大利润初始值
            var maxPro = d_value[0];
            var best;
            // 判断哪一项最大，哪一项最大，他的下一项存放的就是最佳时机的这个天数
            function getMax (array) {
                // 如果arr[i]比maxscore值大，则把这值赋给maxScore,此时要隔项计算
                for (var i = 0; i < array.length ; i+=2) {
                if (array[i] > maxPro) {
                    maxPro = array[i];
                }
            }
            return maxPro;
        }
        function getMaxIndex (array) {
            // 利用循环，如果最大值=arr[i]就返回下标
            for (var i = 0; i < array.length ; i+=2) {
                if (maxPro == array[i]) {
                    best = i;                   
                }
            }
            return best;
        }
        getMax(d_value);
        getMaxIndex(d_value);
        console.log(d_value);
        console.log("最大利润是" + maxPro + "最佳天数是" + (d_value[best+1]));
        }
        bestDay(price);
        
    </script>
</head>
<body>
    20. 买卖股票的最佳时机；给定一个数组，它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易（即买入和卖出一支股票一次）设计一个算法来计算你所能获取的最大利润。

注意：你不能再买入股票前卖出股票

示例：

```

输入：[7, 1, 5, 3, 6, 4]

输出：5

解释：在第2天（当天股票价格等于1）的时候买入，在第五天（当天股票价格等于6）的时候卖出，最大利润为 6 - 1 = 5。

注意：利润不能使7 - 1 = 6，因为第二天的价格为1，第一天的价格为7，你是不可能在第二天买入股票然后等到第一天卖出的
</body>
</html>